衡量防火墙性能的指标有哪些
- 吞吐量(Throughput)
吞吐量是衡量一款防火墙设备的最重要的指标,它是指防火墙设备在不丢包情况下每秒内处理数据包的最大能力。
设备吞吐量越高,所能提供给用户使用的带宽越大,就像木桶原理所描述的,网络的最大吞吐取决于网络中的最低吞吐量设备,足够的吞吐量可以保证防火墙不会成为网络的瓶颈。
吞吐量的计量单位有两种方式:常见的就是带宽计量,单位是Mbps(Megabits per second)或者Gbps(Gigabits per second),另外一种是数据包处理量计量,单位是pps(packets per second),两种计量方式是可以相互换算的。在进行对一款设备进行吞吐性能测试时,通常会记录一组从64字节(最小包)到1518字节(最大包)的测试数据,每一个测试结果均有相对应的pps数。我们会以最小包64字节为基准,也就是64字节的pps,基本上可以反映出设备处理数据包的最大能力,所以从64字节的这个数,基本上可以推算出系统最大能处理的吞吐量是多少。
- 时延(Latency)
时延是系统处理数据包所需要的时间(防火墙入口处输入帧的最后1个比特到底出口输出帧的第一个比特输出所用的时间间隔)。防火墙时延测试指的就是计算它的存储转发(Store and Forward)时间,即从接收到数据包开始,处理完并转发出去所用的全部时间。在一个网络中,如果我们访问某一台服务器,通常不是直接到达,而是经过大量的路由交换设备。每经过一台设备,就像我们在高速公路上经过收费站一样都会耗费一定的时间,一旦在某一个点耗费的时间过长,就会对整个网络的访问造成影响。如果防火墙的延时很低,用户就完全不会感觉到它的存在,提升了网络访问的效率。
- 新建连接速率(Maximum TCP Connection Establishment Rate)
新建连接速率指的是在每一秒以内防火墙所能够处理的HTTP新建连连接请求的数量。用户每打开一个网页,访问一个服务器,在防火墙看来会是1个甚至多个新建连接。而一台设备的新建连接速率越高,就可以同时给更多的用户提供网络访问。比如设备的新建连接速率是1万,那么如果有1万人同时上网,那么所有的请求都可以在一秒以内完成,如果有1万1千人上网的话,那么前1万人可以在第一秒内完成,后1千个请求需要在下一秒才能完成。所以,新建连接速率高的设备可以提供给更多人同时上网,提升用户的网络体验。
- 并发连接数(Concurrent TCP Connection Capacity)
并发连接数就是指防火墙最大能够同时处理的连接会话个数。并发连接数指的是防火墙设备最大能够维护的连接数的数量,这个指标越大,在一段时间内所能够允许同时上网的用户数越多。随着web应用复杂化以及P2P类程序的广泛应用,每个用户所产生的连接越来越多,甚至一个用户的连接数就有可能上千,更严重的是如果用户中了木马或者蠕虫病毒,更会产生上万个连接。所以显而易见,几十万的并发连接数已经不能够满足网络的需求了,目前主流的防火墙都要求能够达到几十万甚至上千万的并发连接以满足一定规模的用户需求。
- 丢包率(Packet loss rate)
丢包率指在连续负载的情况下,防火墙设备由于资源不足导致应该转发的帧没有被转发出去的百分比,防火墙的丢包率对其稳定性、可靠性有很大的影响。
丢包率用于确定防火墙在不同传输速率下丢失数据的百分数,目的在于说明防火墙在超负载情况下的性能,以特定的速率发送特定数量的数据包通过防火墙,然后计算出被防火墙转发数据包的数量,对于在线交易的行业(金融、证券等),对数据传输的丢包率要求非常苛刻,丢包率会耽误重要交易的及时进行,影响交易人对系统的信息以至于导致客户的流失,因此丢包率丢对于银行往来至关重要。
- 背对背(back to back)
背对背的技术指标结果体现出了防火墙的缓存容量,网络上经常有一些应用程序会产生大量的突发数据包(如:备份数据、路由更新等),而且这样的数据包丢失可能会产生更多的数据包丢失,所以强大的缓存能力可以减小这种突发对网络造成的影响,所以背靠背指标体现出防火墙的数据缓存能力,即:防火墙设备承受突发数据的能力。
- 有效通过率(goodput)
根据RFC2647对防火墙测试的规范中定义一个重要的指标:防火墙真实有效通过率(goodput),因为防火墙在使用过程中,总会有数据包的丢失和重发,所以简单测试防火墙的通过率是片面的,goodput从应用层测试防火墙的真实有效的传输数据包速率,即:防火墙端口的总转发数据量减去丢书和重发的数据量。